#pragma once

#include "AlignedMemAlloc.h"

struct PointLight
{
	XMVECTOR Position;
	XMVECTOR Color;
	float Strength;
	float Radius;
	float Falloff;

	PointLight()
	{
		Position = XMVectorSet(-8, 5, 4, 0);
		Color = XMVectorSet(1.0f, 1.0f, 1.0f, 0.0f);
		Strength = 0.9f;
		Radius = 30;
		Falloff = 11;
	}
};

class Scene
{
public:
	Scene()
	{
		AmbientColor = XMVectorSet(0.2f, 0.2f, 0.2f, 0.0f);
	}

	std::vector<PointLight, util::AlignedMemAlloc<PointLight, 16> > PointLights;

	XMVECTOR AmbientColor;
};